// import com.alibaba.druid.sql.ast.SQLName;

// import java.util.List;
#pragma once

#include <string>
#include <list>

#include "../SQLExpr.h"
#include "../SQLExprImpl.h"
#include "../Object.h"
#include "../SQLName.h"

#include "SQLConstraint.h"
#include "SQLTableElement.h"
// #include "SQLTableConstraint.h"
#include "SQLExprTableSource.h"

class SQLForeignKeyConstraint : virtual public  SQLConstraint, virtual public  SQLTableElement /* , virtual public  SQLTableConstraint */ {
    public:
    virtual SQLName_list_ptr  getReferencingColumns() = 0;

    virtual SQLExprTableSource_ptr  getReferencedTable() = 0;

    virtual SQLName_ptr  getReferencedTableName() = 0;

    virtual void setReferencedTableName(SQLName_ptr  value) = 0;

    virtual SQLName_list_ptr  getReferencedColumns() = 0;
};
